package com.bootdo.system.mapper;

import com.bootdo.app.vo.miniprogram.UserCashOutVo;
import com.bootdo.system.domain.TbWithdrawal;
import com.bootdo.system.domain.TbWithdrawalExample;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

public interface TbWithdrawalMapper {
    long countByExample(TbWithdrawalExample example);

    int deleteByExample(TbWithdrawalExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(TbWithdrawal record);

    int insertSelective(TbWithdrawal record);

    List<TbWithdrawal> selectByExample(TbWithdrawalExample example);

    TbWithdrawal selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") TbWithdrawal record, @Param("example") TbWithdrawalExample example);

    int updateByExample(@Param("record") TbWithdrawal record, @Param("example") TbWithdrawalExample example);

    int updateByPrimaryKeySelective(TbWithdrawal record);

    int updateByPrimaryKey(TbWithdrawal record);
    
    List<TbWithdrawal> list(Map<String, Object> map);
    int count(Map<String, Object> map);

	String getNum(@Param("userId")Integer userId);

    TbWithdrawal selectLastOneByUserId(@Param("userId")Integer userId);

    List<UserCashOutVo> getCashOutList(@Param("userId")Integer userId);

	List<UserCashOutVo> getCashOutList2(@Param("userId")Integer valueOf, @Param("date")String date);
}